# hh_resume_spammer
Тестовое, для проверки интереса, web-приложение для поиска работы, генерации сопроводительных писем и отправки отзывов на вакансии, 
как по отдельности, так и сразу на весь список вакансий
---

## Оглавление
1. [Оглавлелние](#оглавление)
2. [Описание приложения](#описание)
3. [Запуск приложения](#запуск-приложения)
4. [Стек](#стек)
5. [Лицензия](#лицензия)

---
## Описание
В приложение используется HH.ru API и GigaChat. На стартовой странице задаются параметра поиска вакансии. 
Задаются основные скиллы пользователя.

![](/pic/main.png)

Приложение получает список вакансий, загружает описание вакансий, 
выводит список вакансий с названием вакансии,
% совпадения скиллов пользователя и ожиданий работодателя. 
При клике на вакансию в новом окне открывается страница вакансии на сайте hh.ru.
Имеется возможность удалить не интересующие вакансии из списка.
Список вакансий и список вакансий с описаниями хранятся на диске в формате JSON, 
после загрузки вакансий в файл добавляются % совпадения скиллов и совпавшие скиллы. 
При генерации писем в файл добавляются сопроводительные письма.
При новом поиске файлы переписываются.

![](/pic/vac_list.png)


Далее по нажатию кнопки начинают генерироваться сопроводительные письма с использованием нейросети GigaChat от Сбера.
В окне открывается страница со списком вакансий с сопроводительными письмами.
Под каждым письмом указаны совпавшие скиллы пользователя и пожеланий работодателя 
(если у работодателя она не указаны, выводиться "python" и "GigaChat).
Имеется возможность отослать отзыв по каждой вакансии отдельно, или все сразу. 
При отправке отклика, добавляются данные в отчет в google таблицу: 
вакансия, работодатель, ссылка на вакансию, текст сопроводительного письма, дата отклика.
Для записи отчета в таблицу есть отдельная кнопка (отключена).
Функция редактирования сопроводительного письма в планах.

![](/pic/cover_latters.png)


На странице активных откликов загружаются прошедшие отклики с сайта hh.ru

![](/pic/report.png)


## Запуск приложения
1. Клонировать репозиторий 
2. При необходимости, установить `Poetry pip install poetry`
3. Запустить виртуальное окружение `poetry shell`
4. Установить зависимости `poetry install`
5. Переименовать файл example.env в .env
6. Прописать все необходимые переменные в .env
7. Запустить приложение `flask --app app run


## Стек
1. python 3.12
2. flask 3.0.0
3. tqdm 4.66.1
4. gigachat 0.1.8
5. gspread 5.12.1
6. black 23.11.0


## Лицензия
MIT License